using System;
using NUnit.Framework;
using dnA.Math;

namespace dnA.dnAtests.Math 
{
	[TestFixture]
	public class ComplexMath_LogTest
	{
		[Test]
		public void Log()
		{
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(0.0,1.19209289550780998537e-7)), new ComplexDouble(-1.5942385152878744226e1,1.57079632679489661923), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(0.0,-1.19209289550780998537e-7)), new ComplexDouble(-1.5942385152878744226e1,-1.57079632679489661923), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(0.0,5.0e-1)), new ComplexDouble(-6.93147180559945309417e-1,1.57079632679489661923), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(0.0,-5.0e-1)), new ComplexDouble(-6.93147180559945309417e-1,-1.57079632679489661923), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(0.0,1.0)), new ComplexDouble(0.0,1.57079632679489661923), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(0.0,-1.0)), new ComplexDouble(0.0,-1.57079632679489661923), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(0.0,2.0)), new ComplexDouble(6.93147180559945309417e-1,1.57079632679489661923), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(0.0,-2.0)), new ComplexDouble(6.93147180559945309417e-1,-1.57079632679489661923), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(0.0,8.388608e6)), new ComplexDouble(1.59423851528787421166e1,1.57079632679489661923), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(0.0,-8.388608e6)), new ComplexDouble(1.59423851528787421166e1,-1.57079632679489661923), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,0.0)), new ComplexDouble(-1.5942385152878744226e1,0.0), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,0.0)), new ComplexDouble(-1.5942385152878744226e1,3.14159265358979323846), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,1.19209289550780998537e-7)), new ComplexDouble(-1.55958115625987715713e1,7.85398163397448309616e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,-1.19209289550780998537e-7)), new ComplexDouble(-1.55958115625987715713e1,-7.85398163397448309616e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,1.19209289550780998537e-7)), new ComplexDouble(-1.55958115625987715713e1,2.35619449019234492885), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,-1.19209289550780998537e-7)), new ComplexDouble(-1.55958115625987715713e1,-2.35619449019234492885), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,5.0e-1)), new ComplexDouble(-6.93147180559916887708e-1,1.57079608837631751767), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,-5.0e-1)), new ComplexDouble(-6.93147180559916887708e-1,-1.57079608837631751767), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,5.0e-1)), new ComplexDouble(-6.93147180559916887708e-1,1.57079656521347572079), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,-5.0e-1)), new ComplexDouble(-6.93147180559916887708e-1,-1.57079656521347572079), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,1.0)), new ComplexDouble(7.1054273576009213949e-15,1.57079620758560706845), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,-1.0)), new ComplexDouble(7.1054273576009213949e-15,-1.57079620758560706845), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,1.0)), new ComplexDouble(7.1054273576009213949e-15,1.57079644600418617001), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,-1.0)), new ComplexDouble(7.1054273576009213949e-15,-1.57079644600418617001), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,2.0)), new ComplexDouble(6.93147180559947085774e-1,1.57079626719025184384), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,-2.0)), new ComplexDouble(6.93147180559947085774e-1,-1.57079626719025184384), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,2.0)), new ComplexDouble(6.93147180559947085774e-1,1.57079638639954139462), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,-2.0)), new ComplexDouble(6.93147180559947085774e-1,-1.57079638639954139462), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,8.388608e6)), new ComplexDouble(1.59423851528787421166e1,1.57079632679488240838), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.19209289550780998537e-7,-8.388608e6)), new ComplexDouble(1.59423851528787421166e1,-1.57079632679488240838), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,8.388608e6)), new ComplexDouble(1.59423851528787421166e1,1.57079632679491083009), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.19209289550780998537e-7,-8.388608e6)), new ComplexDouble(1.59423851528787421166e1,-1.57079632679491083009), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,0.0)), new ComplexDouble(-6.93147180559945309417e-1,0.0), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,0.0)), new ComplexDouble(-6.93147180559945309417e-1,3.14159265358979323846), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,1.19209289550780998537e-7)), new ComplexDouble(-6.93147180559916887708e-1,2.38418579101557479565e-7), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,-1.19209289550780998537e-7)), new ComplexDouble(-6.93147180559916887708e-1,-2.38418579101557479565e-7), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,1.19209289550780998537e-7)), new ComplexDouble(-6.93147180559916887708e-1,3.14159241517121413691), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,-1.19209289550780998537e-7)), new ComplexDouble(-6.93147180559916887708e-1,-3.14159241517121413691), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,5.0e-1)), new ComplexDouble(-3.46573590279972654709e-1,7.85398163397448309616e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,-5.0e-1)), new ComplexDouble(-3.46573590279972654709e-1,-7.85398163397448309616e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,5.0e-1)), new ComplexDouble(-3.46573590279972654709e-1,2.35619449019234492885), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,-5.0e-1)), new ComplexDouble(-3.46573590279972654709e-1,-2.35619449019234492885), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,1.0)), new ComplexDouble(1.11571775657104877883e-1,1.10714871779409050302), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,-1.0)), new ComplexDouble(1.11571775657104877883e-1,-1.10714871779409050302), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,1.0)), new ComplexDouble(1.11571775657104877883e-1,2.03444393579570273545), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,-1.0)), new ComplexDouble(1.11571775657104877883e-1,-2.03444393579570273545), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,2.0)), new ComplexDouble(7.23459491468162730708e-1,1.32581766366803246506), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,-2.0)), new ComplexDouble(7.23459491468162730708e-1,-1.32581766366803246506), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,2.0)), new ComplexDouble(7.23459491468162730708e-1,1.8157749899217607734), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,-2.0)), new ComplexDouble(7.23459491468162730708e-1,-1.8157749899217607734), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,8.388608e6)), new ComplexDouble(1.5942385152878743893e1,1.57079626719025184384), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(5.0e-1,-8.388608e6)), new ComplexDouble(1.5942385152878743893e1,-1.57079626719025184384), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,8.388608e6)), new ComplexDouble(1.5942385152878743893e1,1.57079638639954139462), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-5.0e-1,-8.388608e6)), new ComplexDouble(1.5942385152878743893e1,-1.57079638639954139462), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,0.0)), new ComplexDouble(0.0,0.0), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,0.0)), new ComplexDouble(0.0,3.14159265358979323846), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,1.19209289550780998537e-7)), new ComplexDouble(7.1054273576009213949e-15,1.19209289550780433848e-7), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,-1.19209289550780998537e-7)), new ComplexDouble(7.1054273576009213949e-15,-1.19209289550780433848e-7), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,1.19209289550780998537e-7)), new ComplexDouble(7.1054273576009213949e-15,3.14159253438050368768), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,-1.19209289550780998537e-7)), new ComplexDouble(7.1054273576009213949e-15,-3.14159253438050368768), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,5.0e-1)), new ComplexDouble(1.11571775657104877883e-1,4.63647609000806116214e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,-5.0e-1)), new ComplexDouble(1.11571775657104877883e-1,-4.63647609000806116214e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,5.0e-1)), new ComplexDouble(1.11571775657104877883e-1,2.67794504458898712225), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,-5.0e-1)), new ComplexDouble(1.11571775657104877883e-1,-2.67794504458898712225), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,1.0)), new ComplexDouble(3.46573590279972654709e-1,7.85398163397448309616e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,-1.0)), new ComplexDouble(3.46573590279972654709e-1,-7.85398163397448309616e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,1.0)), new ComplexDouble(3.46573590279972654709e-1,2.35619449019234492885), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,-1.0)), new ComplexDouble(3.46573590279972654709e-1,-2.35619449019234492885), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,2.0)), new ComplexDouble(8.047189562170501873e-1,1.10714871779409050302), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,-2.0)), new ComplexDouble(8.047189562170501873e-1,-1.10714871779409050302), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,2.0)), new ComplexDouble(8.047189562170501873e-1,2.03444393579570273545), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,-2.0)), new ComplexDouble(8.047189562170501873e-1,-2.03444393579570273545), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,8.388608e6)), new ComplexDouble(1.5942385152878749222e1,1.57079620758560706845), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(1.0,-8.388608e6)), new ComplexDouble(1.5942385152878749222e1,-1.57079620758560706845), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,8.388608e6)), new ComplexDouble(1.5942385152878749222e1,1.57079644600418617001), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-1.0,-8.388608e6)), new ComplexDouble(1.5942385152878749222e1,-1.57079644600418617001), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,0.0)), new ComplexDouble(6.93147180559945309417e-1,0.0), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,0.0)), new ComplexDouble(6.93147180559945309417e-1,3.14159265358979323846), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,1.19209289550780998537e-7)), new ComplexDouble(6.93147180559947085774e-1,5.96046447753904286825e-8), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,-1.19209289550780998537e-7)), new ComplexDouble(6.93147180559947085774e-1,-5.96046447753904286825e-8), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,1.19209289550780998537e-7)), new ComplexDouble(6.93147180559947085774e-1,3.14159259398514846307), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,-1.19209289550780998537e-7)), new ComplexDouble(6.93147180559947085774e-1,-3.14159259398514846307), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,5.0e-1)), new ComplexDouble(7.23459491468162730708e-1,2.44978663126864154172e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,-5.0e-1)), new ComplexDouble(7.23459491468162730708e-1,-2.44978663126864154172e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,5.0e-1)), new ComplexDouble(7.23459491468162730708e-1,2.89661399046292908429), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,-5.0e-1)), new ComplexDouble(7.23459491468162730708e-1,-2.89661399046292908429), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,1.0)), new ComplexDouble(8.047189562170501873e-1,4.63647609000806116214e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,-1.0)), new ComplexDouble(8.047189562170501873e-1,-4.63647609000806116214e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,1.0)), new ComplexDouble(8.047189562170501873e-1,2.67794504458898712225), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,-1.0)), new ComplexDouble(8.047189562170501873e-1,-2.67794504458898712225), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,2.0)), new ComplexDouble(1.03972077083991796413,7.85398163397448309616e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,-2.0)), new ComplexDouble(1.03972077083991796413,-7.85398163397448309616e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,2.0)), new ComplexDouble(1.03972077083991796413,2.35619449019234492885), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,-2.0)), new ComplexDouble(1.03972077083991796413,-2.35619449019234492885), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,8.388608e6)), new ComplexDouble(1.59423851528787705383e1,1.57079608837631751767), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(2.0,-8.388608e6)), new ComplexDouble(1.59423851528787705383e1,-1.57079608837631751767), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,8.388608e6)), new ComplexDouble(1.59423851528787705383e1,1.57079656521347572079), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-2.0,-8.388608e6)), new ComplexDouble(1.59423851528787705383e1,-1.57079656521347572079), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,0.0)), new ComplexDouble(1.59423851528787421166e1,0.0), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,0.0)), new ComplexDouble(1.59423851528787421166e1,3.14159265358979323846), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,1.19209289550780998537e-7)), new ComplexDouble(1.59423851528787421166e1,1.42108547152019737407e-14), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,-1.19209289550780998537e-7)), new ComplexDouble(1.59423851528787421166e1,-1.42108547152019737407e-14), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,1.19209289550780998537e-7)), new ComplexDouble(1.59423851528787421166e1,3.14159265358977902761), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,-1.19209289550780998537e-7)), new ComplexDouble(1.59423851528787421166e1,-3.14159265358977902761), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,5.0e-1)), new ComplexDouble(1.5942385152878743893e1,5.96046447753905544139e-8), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,-5.0e-1)), new ComplexDouble(1.5942385152878743893e1,-5.96046447753905544139e-8), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,5.0e-1)), new ComplexDouble(1.5942385152878743893e1,3.14159259398514846307), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,-5.0e-1)), new ComplexDouble(1.5942385152878743893e1,-3.14159259398514846307), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,1.0)), new ComplexDouble(1.5942385152878749222e1,1.19209289550780685311e-7), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,-1.0)), new ComplexDouble(1.5942385152878749222e1,-1.19209289550780685311e-7), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,1.0)), new ComplexDouble(1.5942385152878749222e1,3.14159253438050368768), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,-1.0)), new ComplexDouble(1.5942385152878749222e1,-3.14159253438050368768), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,2.0)), new ComplexDouble(1.59423851528787705383e1,2.38418579101557982491e-7), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,-2.0)), new ComplexDouble(1.59423851528787705383e1,-2.38418579101557982491e-7), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,2.0)), new ComplexDouble(1.59423851528787705383e1,3.1415924151712141369), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,-2.0)), new ComplexDouble(1.59423851528787705383e1,-3.1415924151712141369), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,8.388608e6)), new ComplexDouble(1.62889587431587147713e1,7.85398163397448309616e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(8.388608e6,-8.388608e6)), new ComplexDouble(1.62889587431587147713e1,-7.85398163397448309616e-1), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,8.388608e6)), new ComplexDouble(1.62889587431587147713e1,2.35619449019234492885), 2e-014);
			TestHelper.TestRelativeError(ComplexMath.Log(new ComplexDouble(-8.388608e6,-8.388608e6)), new ComplexDouble(1.62889587431587147713e1,-2.35619449019234492885), 2e-014);
		}
	}
}
